package com.jumi.microservice.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jumi.microservice.common.base.AbstractObject;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 商品公共内容表
 * </p>
 *
 * @author liuz
 * @since 2020-07-27
 */
@TableName("commodity_goods")
@ApiModel(value = "Goods对象", description = "商品公共内容表")
public class GoodsDO extends AbstractObject implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "商品公共表id")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "商品类型  1：单个商品；2：第三方商品;3:商品组合")
    private Integer goodsType;

    @ApiModelProperty(value = "物料的商品spuid")
    private Long materialSpuId;

    @ApiModelProperty(value = "物料的商品spu编码")
    private String materialSpuCode;

    @ApiModelProperty(value = "物料的商品spu名称")
    private String materialSpuName;

    @ApiModelProperty(value = "商品spu编码")
    private String spuCode;

    @ApiModelProperty(value = "商品名称")
    private String goodsName;

    @ApiModelProperty(value = "商品简称")
    @TableField(value = "shortName")
    private String shortName;

    @ApiModelProperty(value = "商品描述")
    private String goodsDescription;

    @ApiModelProperty(value = "一级分类id")
    @TableField("creatgroyFirst")
    private Long creatgroyFirst;

    @ApiModelProperty(value = "二级分类id")
    @TableField("creatgroySecond")
    private Long creatgroySecond;

    @ApiModelProperty(value = "品牌id")
    private Long brandId;

    @ApiModelProperty(value = "供应商ID")
    private Long supplyId;

    @ApiModelProperty(value = "供应商名称")
    private String supplier;

    @ApiModelProperty(value = "退件地址")
    @TableField("returnAddress")
    private String returnAddress;

    @ApiModelProperty(value = "是否是隐私商品0：否；1：是")
    private Integer isPrivacy;

    @ApiModelProperty(value = "设置固定返利;0:否；1：是；（返利接单费固定0.1元，差价0.0元）")
    private Integer fixRebate;

    @ApiModelProperty(value = "是否是引流商品;0:否；1：是")
    private Integer isYinliu;

    @ApiModelProperty(value = "是否是海外")
    private Integer isImport;

    @ApiModelProperty(value = "商品源国家")
    private Integer goodCountry;

    @ApiModelProperty(value = "运费模板")
    private Long transportId;

    @ApiModelProperty(value = "商品标签id 首尾用,隔开")
    private String goodsLabel;

    @ApiModelProperty(value = "是否开增值税发票;0:否；1：是")
    private Integer isVatinvoice;

    @ApiModelProperty(value = "视频地址")
    private String videoUrl;

    @ApiModelProperty(value = "顶部关联板式")
    private Long plateidTop;

    @ApiModelProperty(value = "底部关联板式")
    private Long plateidBottom;

    @ApiModelProperty(value = "商品状态 0下架，1正常,2 :定时上架")
    private Integer goodsState;

    @ApiModelProperty(value = "市场价")
    private BigDecimal goodsMarketprice;

    @ApiModelProperty(value = "商品主图")
    private String goodsImage;

    @ApiModelProperty(value = "商品内容")
    private String goodsBody;

    @ApiModelProperty(value = "商品价格")
    private BigDecimal goodsPrice;

    @ApiModelProperty(value = "是否删除(0:否,1:是)")
    private Integer isDel;

    @ApiModelProperty(value = "添加人")
    private String creater;

    @ApiModelProperty(value = "添加时间")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "修改人")
    private String modifier;

    @ApiModelProperty(value = "修改时间")
    private LocalDateTime updateTime;

    @ApiModelProperty("旺店通商品ID")
    private Long wdtGoodsId;

    @ApiModelProperty("商品不发货地区id")
    private String noDeliveryRegionId;

    @ApiModelProperty("商品不发货地区名称")
    private String noDeliveryRegionName;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Integer getGoodsType() {
        return goodsType;
    }

    public void setGoodsType(Integer goodsType) {
        this.goodsType = goodsType;
    }


    public String getGoodsName() {
        return goodsName;
    }

    public void setGoodsName(String goodsName) {
        this.goodsName = goodsName;
    }

    public Long getCreatgroyFirst() {
        return creatgroyFirst;
    }

    public void setCreatgroyFirst(Long creatgroyFirst) {
        this.creatgroyFirst = creatgroyFirst;
    }

    public Long getCreatgroySecond() {
        return creatgroySecond;
    }

    public void setCreatgroySecond(Long creatgroySecond) {
        this.creatgroySecond = creatgroySecond;
    }

    public Long getBrandId() {
        return brandId;
    }

    public void setBrandId(Long brandId) {
        this.brandId = brandId;
    }

    public Long getSupplyId() {
        return supplyId;
    }

    public void setSupplyId(Long supplyId) {
        this.supplyId = supplyId;
    }

    public String getSupplier() {
        return supplier;
    }

    public void setSupplier(String supplier) {
        this.supplier = supplier;
    }


    public Integer getIsPrivacy() {
        return isPrivacy;
    }

    public void setIsPrivacy(Integer isPrivacy) {
        this.isPrivacy = isPrivacy;
    }

    public Integer getFixRebate() {
        return fixRebate;
    }

    public void setFixRebate(Integer fixRebate) {
        this.fixRebate = fixRebate;
    }

    public Integer getIsYinliu() {
        return isYinliu;
    }

    public void setIsYinliu(Integer isYinliu) {
        this.isYinliu = isYinliu;
    }

    public Integer getIsImport() {
        return isImport;
    }

    public void setIsImport(Integer isImport) {
        this.isImport = isImport;
    }

    public Integer getGoodCountry() {
        return goodCountry;
    }

    public void setGoodCountry(Integer goodCountry) {
        this.goodCountry = goodCountry;
    }

    public Long getTransportId() {
        return transportId;
    }

    public void setTransportId(Long transportId) {
        this.transportId = transportId;
    }

    public String getGoodsLabel() {
        return goodsLabel;
    }

    public void setGoodsLabel(String goodsLabel) {
        this.goodsLabel = goodsLabel;
    }

    public Integer getIsVatinvoice() {
        return isVatinvoice;
    }

    public void setIsVatinvoice(Integer isVatinvoice) {
        this.isVatinvoice = isVatinvoice;
    }

    public String getVideoUrl() {
        return videoUrl;
    }

    public void setVideoUrl(String videoUrl) {
        this.videoUrl = videoUrl;
    }

    public Long getPlateidTop() {
        return plateidTop;
    }

    public void setPlateidTop(Long plateidTop) {
        this.plateidTop = plateidTop;
    }

    public Long getPlateidBottom() {
        return plateidBottom;
    }

    public void setPlateidBottom(Long plateidBottom) {
        this.plateidBottom = plateidBottom;
    }

    public Integer getGoodsState() {
        return goodsState;
    }

    public void setGoodsState(Integer goodsState) {
        this.goodsState = goodsState;
    }

    public BigDecimal getGoodsMarketprice() {
        return goodsMarketprice;
    }

    public void setGoodsMarketprice(BigDecimal goodsMarketprice) {
        this.goodsMarketprice = goodsMarketprice;
    }

    public String getGoodsImage() {
        return goodsImage;
    }

    public void setGoodsImage(String goodsImage) {
        this.goodsImage = goodsImage;
    }

    public String getGoodsBody() {
        return goodsBody;
    }

    public void setGoodsBody(String goodsBody) {
        this.goodsBody = goodsBody;
    }

    public BigDecimal getGoodsPrice() {
        return goodsPrice;
    }

    public void setGoodsPrice(BigDecimal goodsPrice) {
        this.goodsPrice = goodsPrice;
    }

    public Integer getIsDel() {
        return isDel;
    }

    public void setIsDel(Integer isDel) {
        this.isDel = isDel;
    }

    public String getCreater() {
        return creater;
    }

    public void setCreater(String creater) {
        this.creater = creater;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public String getModifier() {
        return modifier;
    }

    public void setModifier(String modifier) {
        this.modifier = modifier;
    }

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    public String getSpuCode() {
        return spuCode;
    }

    public void setSpuCode(String spuCode) {
        this.spuCode = spuCode;
    }

    public String getGoodsDescription() {
        return goodsDescription;
    }

    public void setGoodsDescription(String goodsDescription) {
        this.goodsDescription = goodsDescription;
    }

    public String getReturnAddress() {
        return returnAddress;
    }

    public void setReturnAddress(String returnAddress) {
        this.returnAddress = returnAddress;
    }

    public Long getMaterialSpuId() {
        return materialSpuId;
    }

    public void setMaterialSpuId(Long materialSpuId) {
        this.materialSpuId = materialSpuId;
    }

    public String getMaterialSpuCode() {
        return materialSpuCode;
    }

    public void setMaterialSpuCode(String materialSpuCode) {
        this.materialSpuCode = materialSpuCode;
    }

    public String getMaterialSpuName() {
        return materialSpuName;
    }

    public void setMaterialSpuName(String materialSpuName) {
        this.materialSpuName = materialSpuName;
    }

    public Long getWdtGoodsId() {
        return wdtGoodsId;
    }

    public void setWdtGoodsId(Long wdtGoodsId) {
        this.wdtGoodsId = wdtGoodsId;
    }

    public String getShortName() {
        return shortName;
    }

    public void setShortName(String shortName) {
        this.shortName = shortName;
    }

    public String getNoDeliveryRegionId() {
        return noDeliveryRegionId;
    }

    public void setNoDeliveryRegionId(String noDeliveryRegionId) {
        this.noDeliveryRegionId = noDeliveryRegionId;
    }

    public String getNoDeliveryRegionName() {
        return noDeliveryRegionName;
    }

    public void setNoDeliveryRegionName(String noDeliveryRegionName) {
        this.noDeliveryRegionName = noDeliveryRegionName;
    }
}
